package model

import (
	"gorm.io/gorm"
	"time"
)

type Good struct {
	Id               uint           `gorm:"column:id;type:bigint UNSIGNED;primaryKey;not null;" json:"id"`
	GoodName         string         `gorm:"column:good_name;type:varchar(64);comment:商品名称;default:NULL;" json:"good_name"`            // 商品名称
	GoodTitle        string         `gorm:"column:good_title;type:varchar(255);comment:商品标题;default:NULL;" json:"good_title"`         // 商品标题
	GoodPrice        float64        `gorm:"column:good_price;type:decimal(10, 2);comment:商品价钱;default:NULL;" json:"good_price"`       // 商品价钱
	GoodCode         string         `gorm:"column:good_code;type:varchar(255);comment:商品编号;default:NULL;" json:"good_code"`           // 商品编号
	Image            string         `gorm:"column:image;type:varchar(255);comment:商品封面;default:NULL;" json:"image"`                   // 商品封面
	Details          string         `gorm:"column:details;type:text;comment:商品详情;" json:"details"`                                    // 商品详情
	Introduce        string         `gorm:"column:introduce;type:varchar(512);comment:商品介绍;default:NULL;" json:"introduce"`           // 商品介绍
	ClassificationId uint           `gorm:"column:classification_id;type:bigint;comment:分类id;default:NULL;" json:"classification_id"` // 分类id
	Brand            string         `gorm:"column:brand;type:varchar(50);comment:商品品牌;default:NULL;" json:"brand"`                    // 商品品牌
	CreatedAt        time.Time      `gorm:"column:created_at;type:datetime(3);default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdatedAt        time.Time      `gorm:"column:updated_at;type:datetime(3);default:CURRENT_TIMESTAMP(3);" json:"updated_at"`
	DeletedAt        gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
}

func (g *Good) TableName() string {
	return "good"
}
